/* ****************************************************************************
 *
 * Copyright (c) Microsoft Corporation. 
 *
 * This source code is subject to terms and conditions of the Microsoft Public License. A 
 * copy of the license can be found in the License.html file at the root of this distribution. If 
 * you cannot locate the  Microsoft Public License, please send an email to 
 * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
 * by the terms of the Microsoft Public License.
 *
 * You must not remove this notice, or any other, from this software.
 *
 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
 * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
 * PARTICULAR PURPOSE.
 * ***************************************************************************/


// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__02996858_8623_11D4_826B_00A024D26A1F__INCLUDED_)
#define AFX_MAINFRM_H__02996858_8623_11D4_826B_00A024D26A1F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "pgl/mfc/PGLMoveElementEvent.h"

class CMainFrame 
#ifdef PGL_NO_NEWMENU
	: public CFrameWnd
#else
	: public CNewFrameWnd
#endif
{
protected: // create from serialization only
	CMainFrame();
	DECLARE_DYNCREATE(CMainFrame)

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMainFrame)
	public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members

	CStatusBar  m_wndStatusBar;
	CToolBar    m_wndToolBar;
	CToolBar	m_wndToolBarExamples;
	CPGLWnd		m_pglWnd;
    CPGLWndHooker m_pglWndHooker;
	CPGLDialogList m_pglDlgManager;

// Generated message map functions
protected:
	void PeekAndPump();
	//{{AFX_MSG(CMainFrame)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnGraphGenerateRegion();
	afx_msg void OnGraphShow();
	afx_msg void OnExamplesSimpleline();
	afx_msg void OnExamplesSimplelinewithlevelofdetail();
	afx_msg void OnExamplesCustomizingtheaxis();
	afx_msg void OnExamplesSubplotting();
	afx_msg void OnExamplesTimelabels();
	afx_msg void OnHelpAbout();
	afx_msg void OnExamplesStackedlines();
	afx_msg void OnExamplesLinedashing();
	afx_msg void OnExamplesLineclosingfillindandsnapping();
	afx_msg void OnExamplesMaps();
	afx_msg void OnStaticShowdialogwithstaticpglcontrol();
	afx_msg void OnExamplesStockshighlowclose();
	afx_msg void OnExamplesScattergroupofpoints();
	afx_msg void OnExamplesTransformationcontainerrotationandscaling();
	afx_msg void OnExamplesPatternsspecializedcharting();
	afx_msg void OnExamplesTriplebufferinganimatedline();
	afx_msg void OnGraphShowinmodaldialog();
	afx_msg void OnExamplesSatellitegoodierotationillustration();
	afx_msg void OnExamplesRotatedregions();
	afx_msg void OnExamplesLineinterpolationtypes();
	afx_msg void OnExamplesPiechart();
	afx_msg void OnExamplesSplines();
	afx_msg void OnExamplesBitmapsandimagesdrawing();
	afx_msg void OnExamplesVectorfield();
	afx_msg void OnExamplesDifferentFills();
	afx_msg void OnExamplesMarkers();
	afx_msg void OnExamplesMultiplescalingonsamechart();
	afx_msg void OnExamplesManipulationheterogenousdatatypes();
	afx_msg void OnExamplesSeriesmovingwithtime();
	afx_msg void OnExamplesBargraphs();
	afx_msg void OnExamplesHistogram();
	afx_msg void OnExamplesOuputtingtofiles();
	afx_msg void OnGdiGettinginstalledencoderlist();
	afx_msg void OnGdiInstalleddecoderlist();
	afx_msg void OnEditCopyasmetafile();
	afx_msg void OnEditCopyAsbitmap();
	afx_msg void OnMfcintegrationShowasbasicwindow();
	afx_msg void OnExportingSvgtostring();
	afx_msg void OnExportingOutputtingallexamplestoPng();
	afx_msg void OnExportingOutputtingallexamplestoJpeg();
	afx_msg void OnExportingOutputtingallexamplestoEps();
	afx_msg void OnExportingOutputtingallexamplestoEmf();
	afx_msg void OnExportingOutputtingallexamplestoBmp();
	afx_msg void OnExportingOutputtingallexamplestoWmf();
	afx_msg void OnExportingOutputtingallexamplestoTiff();
	afx_msg void OnExportingOutputtingallexamplestoSvg();
	afx_msg void OnMiscMemoryleakdetection();
	afx_msg void OnExamplesErrorbars();
	afx_msg void OnMiscObjectsinmemory();
	afx_msg void OnMiscLoggingenabled();
	afx_msg void OnUpdateMiscLoggingenabled(CCmdUI* pCmdUI);
	afx_msg void OnExportingEmftoistream();
	afx_msg void OnExportingOutputtingallexamplestoSvgz();
	afx_msg void OnEditCopy();
	afx_msg void OnExamplesHistogram2();
	afx_msg void OnExamplesTextannotationsandboxes();
	afx_msg void OnExamplesSickdataplottingemptylinesnanetc();
	afx_msg void OnSpecialLowlevelanimation();
	afx_msg void OnExamplePoint();
	afx_msg void OnSimpleDialog();
	//}}AFX_MSG
	afx_msg void OnExampleDouble();  
	DECLARE_MESSAGE_MAP()
public:
	void callback(const CPGLCallbackArg&);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnCapiTestmemorybitmap();
	afx_msg void OnMoreexamplesStackedlines();
};



/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__02996858_8623_11D4_826B_00A024D26A1F__INCLUDED_)
